package org.persistente.banco;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author phireis
 */
public class Conexoes {


    public static ConexaoException novaExcecao(String str) {
        return novaExcecao(new SQLException(str));
    }

    /**
     * Encapsula uma exceção do tipo SQLException em um objeto do tipo ConexaoException.
     * @param e Exceção a ser encapsulada.
     * @return Encapsulamento.
     */
    public static ConexaoException novaExcecao(SQLException e) {
        return new ConexaoException("Erro ao realizar operação no banco de dados.", e);
    }

    /**
     * Fecha um statement.
     * @param st Statement a ser fechado.
     */
    public static void fecha(Statement st) {
        if (st != null) {
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * Fecha um result set.
     * @param rs Result set a ser fechado.
     */
    public static void fecha(ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * Fecha uma conexão com o banco de dados.
     * @param con Conexão a ser fechada.
     */
    public static void fecha(Connection con) {
        if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }


}
